Network computing is well known. For example, see U.S. Pat. No. 5,371,852 to Attanasio et al. issued on Dec. 6, 1994 and U.S. patent application Ser. No. 08/715,214 filed Sep. 12, 1996 entitled "System and Method for Dynamic Video Routing" to Flavin et al. and U.S. patent application Ser. No. 08/717,339 filed Sep. 20, 1996 entitled "System and Method for Measuring and Accounting for Data Traffic on Networks" to Flavin et al. This Patent and these Applications are herein incorporated by reference in their entirety.
FIG. 1 is a block diagram of the general hardware and software model of a WAN and a LAN and FIG. 1A shows detail of a typical satellite uplink facility. Block 110 is a plurality of internet service providers (ISPs) which deliver data to and from the Internet to a satellite uplink facility 115. This data can have all varieties of well known content, e.g. movies, communications, video, audio, animation, text, etc. The ISP(s) 110 are connected to the satellite uplink facility 115 by high speed telephone lines (T1) 111. The T1 lines 111 enters the satellite uplink facility 115 and are connected to high speed modems (CSU/DSU) 116. The high speed modems 116 read data from the T1 lines 111 and forward the data into the router 118 through network connections 117. The router 118 examines the information packets 195 on the network connections and forwards the packets 195 to the switch 125 or servers 121, through the network connections 119 and 120, respectively. The switch 125 receives information packets from network connections 119 and/or 124 and serializes the packets onto the single network connection 126. The network connection 126 is connected to a satellite transmitter 127 which modulates the computer data into satellite frequencies and broadcasts the data through a satellite dish 129 which is aimed at a satellite 130. The satellite 130 receives the data sent 129A by the satellite transmitter 127 and broadcasts 131 the data back onto the earth.
Servers 121 receive packets 195 from network connections 120 and perform computer processes 122 which send second sets of network packets 195 to the switch 125 or back to the router 118 over network connections 124 and 120, respectively.
Block 164 is a satellite dish at a home. The satellite dish 164 receives data which has been broadcast from the satellite 130 and sends the data into a satellite receiver 161. The satellite receiver 161 listens to the broadcast frequency and converts the broadcast signal into computer data. The computer data is then sent into the computer 160 and, optionally, stored in a disk drive 162.
Block 150 is a cable head-end and/or a network operations center (NOC). It has a computer 151 which is equipped with a satellite receiver 154. The satellite receiver 154 listens to a signal received by the satellite dish 155 and broadcast over the satellite 130. Upon receiving a signal, the satellite receiver 154 converts the signal into digital computer data and sends the data into the computer 151. Optionally, the computer 151 can also be equipped with a telephone modem (or CSU/DSU) 153. This modem 153 can be connected to an internet service provider 140 through a telephone line 141. When the computer 151 has received computer data, it sends the data to a cable transmitter 152. The cable transmitter 152 broadcasts the computer data onto the cable hybrid fiber coax infrastructure 157. Optionally, the computer 151 performs a routing process 158 which filters and serializes the data being received by the satellite receiver 154 and the modem 153.
The hybrid fiber coax infrastructure 157 serves as a wide area network (WAN) and connects homes 170 and computers 180 in office complexes to the cable head-end 150. Block 170 is a computer which could reside at a customers residence. A cable receiver 171 is installed within the computer 170 which listens for signals on the hybrid fiber coax infrastructure 157. The cable receiver 171 converts the signals into computer data and passes them on to the computer 170. Optionally, the computer 170 stores the computer data in a hard drive 172.
Block 180 is a computer in an office complex. The computer 180 is equipped with a cable receiver 181 which receives data over the hybrid fiber coax 157 WAN. Optionally, the computer can be equipped with a modem 184 which receives data from an ISP 140 over a switched or dedicated telephone line 142. Optionally, the computer 180 stores the computer data in a hard drive 183 and/or transmits the computer data over a LAN 190 by means of a LAN adapter 182.
Information is transmitted on each of these networks (LAN 190, WAN 150) in appropriate units of measure. For example, in a digital network, information is transmitted from a computer in bits. Depending on the hardware protocol, the bits may be grouped together into payload data units (PDUs), often referred to as bytes, packets, or cells. Computers communicating to each other via modems on a switched or dedicated telephone line 111, 141, 142 will typically send and listen for seven or eight bit bytes. Computers communicating over an ethernet or Token Ring network will send and receive `packets`, groups of eight bit bytes, of a varying length (typical packet sizes range from 296 to 65535 bytes). And, computers communicating to each other through the Asynchronous Transfer Mode (ATM) protocol will send and listen for `cells`, groups of eight bit bytes of a fixed length (53 bytes).
When payload data units are transmitted over a shared network such as a Token-Ring or ethernet network, the payload data units contain a destination address field. This destination address field will contain an identifier indicating which computer should receive the payload data and which computers should ignore it. In the case of ethernet or Token-Ring networks, this identifier is a MAC (Media Access Control) address. These identifiers are unique to each physical network adapter. When an ethernet adapter receives a payload data unit, it compares the value stored in the payload address field against its own configured MAC address. If the two values match, the adapter notifies the network computer and transfers the payload data unit into the computers memory. If no match is found, the adapter discards the payload data unit.
Each payload data unit contains at most one destination address. Because computers may wish to simultaneously transmit data to many network connected computers, certain destination addresses are reserved as broadcast addresses. On an ethernet network with computers connected through IP (the Internet Protocol), the IANA (Internet Assigned Numbering Authority) has reserved a block of MAC addresses to be used for broadcast. When an ethernet adapter receives a payload data unit which contains a broadcast MAC address in its destination address field, the adapter either notifies its network computer (client) and transfers the payload data unit into the computer's memory, or it compares the MAC address against a table of broadcast MAC addresses which its network computer has previously created. If the MAC address is listed in the table, the network computer is notified and the payload data unit is transferred. Otherwise, the payload data is discarded.
Network connected computers broadcast data onto a computer network in many different circumstances. For instance, as part of the process of becoming connected to an ethernet IP network, a computer will announce itself by broadcasting its MAC address over the network. Network routing processes 158 listen for these announcements and configure their routing tables appropriately. And, when a network computer wants to transmit an IP packet to an IP address, the computer will broadcast an address query across the network asking for the MAC address corresponding to the computer with the IP address.
Network connected computers may also broadcast data files across a computer network. A network connected computer acting as a data server may, for instance, continually broadcast stock ticker reports, news, or weather information. Additionally, data files from the World Wide Web may be broadcast. Network connected computers which receive these files can store them in a cache on a hard drive for quick retrieval at a later time.
Other systems, e.g. the PointCast network (a trademark of PointCast, Inc.), one or more clients on the network are executing software that periodically sends a query to one or more servers for various selected categories of information. Here each of the users is requesting a separate copy of the information and therefore network bandwidth is used to send each of these users the information. In addition, network bandwidth is used to send each of the requests (and required "handshaking") to the server.
Hughes Network Systems, Inc. provides a broadcast service that broadcasts customer provided information (e.g. MPEG video) from a satellite to various ground users. The ground users have an adaptor that is capable of receiving the customer information. The customer information is assigned a broadcast address and each of the ground users interested in the customer information listens for that address by tuning the adaptor with the correct broadcast address. When the customer information is broadcast, the ground users that are "tuned" to the broadcast address can access the customer information for display, etc. In this system each user/client receives and must somehow process all of the customer information, whether or not the user is capable of handling it.